package com.cy.store.mapper;

import com.cy.store.entity.Address;
import com.cy.store.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 持久层地址相关操作接口
 */
public interface AddressMapper {

    /**
     * 新增收货地址接口方法
     * @param address
     * @return
     */
    Integer insert(Address address);

    /**
     * 查询用户收货地址条数方法
     * @param uid
     * @return
     */
    Integer countByUid(Integer uid);

    /**
     * 通过用户id获取展示列表地址信息
     * @param Uid
     * @return
     */
    List<Address> findInfoByUid(Integer Uid);

    /**
     * 根据地址id号查询收货地址
     * @param aid
     * @return
     */
    Address findByAid(Integer aid);

    /**
     * 根据用户d将地址更新为非默认收货地址
     * @param uid
     * @return
     */
    Integer updateNoDefault(Integer uid);

    /**
     * 根据aid将地址设置为默认收货地址
     * @param aid
     * @param modifiedUser
     * @param modifiedTime
     * @return
     */
    Integer updateDefault(Integer aid,String modifiedUser,Date modifiedTime);

    /**
     * 通过地址id删除收货地址
     * @param aid
     * @return
     */
    Integer deleteByAid(Integer aid);

    /**
     * 查询最后一次编辑的地址信息
     * @param uid
     * @return
     */
    Address findLastModified(Integer uid);
}
